Get Status
The Get Status API is a callback API that allows the originating bank to monitor for any changes in the payment status for outbound payments.
For example, it can provide a confirmation of funds movement or even notify a Commercial Customer of a recalled or reject payment.
Method: POST
{{URL}}/jsonrpc
Headers
Name | Value |
---|---|
Content-Type | application/json |
Example
Payload Parameters
Parameter | Description |
---|---|
id Mandatory | String Unique ID for each request |
jsonrpc Mandatory | String JSON RPC VERSION - should be "2.0" |
method Mandatory | String Method Name - should be "VisaService.GetTransferStatus" |
params Mandatory | Object |
api Mandatory | Object |
credential Mandatory | String API credential provided by NetXD |
signature Mandatory | String Signature of the digitally signed payload |
payload Mandatory | Object |
endToEndIdentification Mandatory | String End to End ID assigned by Originating Bank (Debtor Agent) |
- cURL
- C#
- Go
- NodeJs
curl --location --globoff '{{URL}}/jsonrpc' \
--header 'Content-Type: application/json' \
--data '{"id":"1","jsonrpc":"2.0","method":"VisaService.GetTransferStatus","params":{"api":{"credential":"Basic c3VwcG9ydCsxQG5ldHN5cy1pbmMuY29tOjM5ZDYxOGJkNTVmNzQ4ZGQ4ZWY4NWI5NWQxY2RlNDE5","signature":"{{signature}}"},"payload":{"endToEndIdentification":"435349412242050435799a164"}}}'
var options = new RestClientOptions("{{URL}}/jsonrpc")
{
MaxTimeout = -1,
};
var client = new RestClient(options);
var request = new RestRequest("", Method.Post);
request.AddHeader("Content-Type", "application/json");
var body = @"{
" + "\n" +
@" ""id"": ""1"",
" + "\n" +
@" ""jsonrpc"": ""2.0"",
" + "\n" +
@" ""method"": ""VisaService.GetTransferStatus"",
" + "\n" +
@" ""params"": {
" + "\n" +
@" ""api"": {
" + "\n" +
@" ""credential"": ""Basic c3VwcG9ydCsxQG5ldHN5cy1pbmMuY29tOjM5ZDYxOGJkNTVmNzQ4ZGQ4ZWY4NWI5NWQxY2RlNDE5"",
" + "\n" +
@" ""signature"": ""{{signature}}""
" + "\n" +
@" },
" + "\n" +
@" ""payload"": {
" + "\n" +
@" ""endToEndIdentification"": ""435349412242050435799a164""
" + "\n" +
@" }
" + "\n" +
@" }
" + "\n" +
@"}";
request.AddStringBody(body, DataFormat.Json);
RestResponse response = await client.ExecuteAsync(request);
Console.WriteLine(response.Content);
package main
import (
"fmt"
"strings"
"net/http"
"io/ioutil"
)
func main() {
url := "{{URL}}/jsonrpc"
method := "POST"
payload := strings.NewReader(`{`+"
"+`
"id": "1",`+"
"+`
"jsonrpc": "2.0",`+"
"+`
"method": "VisaService.GetTransferStatus",`+"
"+`
"params": {`+"
"+`
"api": {`+"
"+`
"credential": "Basic c3VwcG9ydCsxQG5ldHN5cy1pbmMuY29tOjM5ZDYxOGJkNTVmNzQ4ZGQ4ZWY4NWI5NWQxY2RlNDE5",`+"
"+`
"signature": "{{signature}}"`+"
"+`
},`+"
"+`
"payload": {`+"
"+`
"endToEndIdentification": "435349412242050435799a164"`+"
"+`
}`+"
"+`
}`+"
"+`
}`)
client := &http.Client {
}
req, err := http.NewRequest(method, url, payload)
if err != nil {
fmt.Println(err)
return
}
req.Header.Add("Content-Type", "application/json")
res, err := client.Do(req)
if err != nil {
fmt.Println(err)
return
}
defer res.Body.Close()
body, err := ioutil.ReadAll(res.Body)
if err != nil {
fmt.Println(err)
return
}
fmt.Println(string(body))
}
var https = require('follow-redirects').https;
var fs = require('fs');
var options = {
'method': 'POST',
'hostname': '{{URL}}',
'path': '/jsonrpc',
'headers': {
'Content-Type': 'application/json'
},
'maxRedirects': 20
};
var req = https.request(options, function (res) {
var chunks = [];
res.on("data", function (chunk) {
chunks.push(chunk);
});
res.on("end", function (chunk) {
var body = Buffer.concat(chunks);
console.log(body.toString());
});
res.on("error", function (error) {
console.error(error);
});
});
var postData = JSON.stringify({
"id": "1",
"jsonrpc": "2.0",
"method": "VisaService.GetTransferStatus",
"params": {
"api": {
"credential": "Basic c3VwcG9ydCsxQG5ldHN5cy1pbmMuY29tOjM5ZDYxOGJkNTVmNzQ4ZGQ4ZWY4NWI5NWQxY2RlNDE5",
"signature": "{{signature}}"
},
"payload": {
"endToEndIdentification": "435349412242050435799a164"
}
}
});
req.write(postData);
req.end();
Body
{
"id": "1",
"jsonrpc": "2.0",
"method": "VisaService.GetTransferStatus",
"params": {
"api": {
"credential": "Basic c3VwcG9ydCsxQG5ldHN5cy1pbmMuY29tOjM5ZDYxOGJkNTVmNzQ4ZGQ4ZWY4NWI5NWQxY2RlNDE5",
"signature": "{{signature}}"
},
"payload": {
"endToEndIdentification": "435349412242050435799a164"
}
}
}
Response: 201
Response Parameters
Parameter | Description |
---|---|
id | String Unique ID for each request |
jsonrpc | String JSON RPC VERSION - should be "2.0" |
result | Object |
endToEndIdentification | String End to End ID assigned by Originating Bank (Debtor Agent) |
processId | String Unique ID for payment as assigned by NetXD |
status | String Status of the Payment |
{
"id":"1",
"jsonrpc":"2.0",
"result":{
"endToEndIdentification":"TI2020040700050",
"processId":"000000000008",
"status":"PENDING"
}
}